<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: src/ir_Bosch.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IRremoteESP8266
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ir_Bosch.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ir__Bosch_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright 2022 Nico Thien</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">//   Brand: Bosch,  Model: CL3000i-Set 26 E A/C</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//   Brand: Bosch,  Model: RG10A(G2S)BGEF remote</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#ifndef IR_BOSCH_H_</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#define IR_BOSCH_H_</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __STDC_LIMIT_MACROS</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRrecv_8h.html">IRrecv.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRtext_8h.html">IRtext.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRutils_8h.html">IRutils.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;Arduino.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;IRsend_test.h&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// Constants</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#aadc63aebf2d5196fb04c738e7f55b962">   31</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#aadc63aebf2d5196fb04c738e7f55b962">kBoschHdrMark</a> = 4366;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#ae231af130976f79d9a96ea6c5733fa87">   32</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#ae231af130976f79d9a96ea6c5733fa87">kBoschBitMark</a> = 502;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#ac6515523960e0d98d6d046aa4ba1421b">   33</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#ac6515523960e0d98d6d046aa4ba1421b">kBoschHdrSpace</a> = 4415;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a18b51b04770e85adc8f9d0dea16c07a2">   34</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a18b51b04770e85adc8f9d0dea16c07a2">kBoschOneSpace</a> = 1645;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a3cfa01af62a0e1c3d507488dd5e1f05c">   35</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a3cfa01af62a0e1c3d507488dd5e1f05c">kBoschZeroSpace</a> = 571;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a7e42d2f410aed3cef58bac2f8a09cb06">   36</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a7e42d2f410aed3cef58bac2f8a09cb06">kBoschFooterSpace</a> = 5235;</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a4b96eb4a16f1711be9e836ba593fcbb3">   37</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a4b96eb4a16f1711be9e836ba593fcbb3">kBoschFreq</a> = 38000;  <span class="comment">// Hz. (Guessing the most common frequency.)</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#ac45d61b421b7d326977e0d93ff52f954">   38</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#ac45d61b421b7d326977e0d93ff52f954">kBosch144NrOfSections</a> = 3;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a441cbba39ea68a84b1c7eb73da6c2042">   39</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a441cbba39ea68a84b1c7eb73da6c2042">kBosch144BytesPerSection</a> = 6;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">using</span> <a class="code" href="namespaceirutils.html#a12ba9cf1830a886649a80c3cc5fdce2b">irutils::addBoolToString</a>;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">using</span> <a class="code" href="namespaceirutils.html#a8b74ae0258e98aa0eaebc6f3efe1481e">irutils::addModeToString</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">using</span> <a class="code" href="namespaceirutils.html#a1de74ec4ecc33ce0bac35964ea7ba821">irutils::addFanToString</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">using</span> <a class="code" href="namespaceirutils.html#a63e326858d646230b4c286a889e651a7">irutils::addTempToString</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">using</span> std::min;</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">using</span> std::max;</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">using</span> std::memcpy;</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">using</span> std::memcmp;</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">// Modes                Bit[0] to Section 3    Bit[1-2] to Section 1</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">//                                ModeS3                   ModeS1</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#ae1b65b7d5d2a21fa03c4466233a78dc9">   52</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#ae1b65b7d5d2a21fa03c4466233a78dc9">kBosch144Cool</a> = 0b000;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a6a32c659316f38e3fbaabfbc8d0a0916">   53</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#a6a32c659316f38e3fbaabfbc8d0a0916">kBosch144Dry</a> =  0b011;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#ae971649b89317b55905c71b90ac74c23">   54</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#ae971649b89317b55905c71b90ac74c23">kBosch144Auto</a> = 0b101;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#aa41021bc17297e00f3c565dc1f81c994">   55</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#aa41021bc17297e00f3c565dc1f81c994">kBosch144Heat</a> = 0b110;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a300684692145a91ded17d87743cb3810">   56</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#a300684692145a91ded17d87743cb3810">kBosch144Fan</a> =  0b010;</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// Fan Control          Bit[0-5] to Section 3    Bit[6-8] to Section 1</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">//                                  FanS3                    FanS1</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#abda383043be34f9e0af15460ee3d4094">   60</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#abda383043be34f9e0af15460ee3d4094">kBosch144Fan20</a> = 0b111001010;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a97356715789abc8d671b604c4b0c8995">   61</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a97356715789abc8d671b604c4b0c8995">kBosch144Fan40</a> = 0b100010100;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a9cfa60260f8c67a06248f3952a34a131">   62</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a9cfa60260f8c67a06248f3952a34a131">kBosch144Fan60</a> = 0b010011110;</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a96fbac4ef9a0879de1ea5b95af45c4f8">   63</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a96fbac4ef9a0879de1ea5b95af45c4f8">kBosch144Fan80</a> = 0b001101000;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a83d7eb073bb0df2b93c6df8537a0f241">   64</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#a83d7eb073bb0df2b93c6df8537a0f241">kBosch144Fan100</a> = 0b001110010;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#af936a2563f263b9ef6d621679962269c">   65</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#af936a2563f263b9ef6d621679962269c">kBosch144FanAuto</a> = 0b101110011;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#aafc6fa16ff4363e83ca38d78c753e7cb">   66</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Bosch_8h.html#aafc6fa16ff4363e83ca38d78c753e7cb">kBosch144FanAuto0</a> = 0b000110011;</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">// Temperature</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#ac8770a71650aa08bf7c72232cd103166">   69</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#ac8770a71650aa08bf7c72232cd103166">kBosch144TempMin</a> = 16;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a2ba01d6f896cf20ab4106027d4770064">   70</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#a2ba01d6f896cf20ab4106027d4770064">kBosch144TempMax</a> = 30;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a7e1b33ab729c54bd23f9c1ca1f6a2ed3">   71</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#a7e1b33ab729c54bd23f9c1ca1f6a2ed3">kBosch144TempRange</a> = <a class="code" href="ir__Bosch_8h.html#a2ba01d6f896cf20ab4106027d4770064">kBosch144TempMax</a> - <a class="code" href="ir__Bosch_8h.html#ac8770a71650aa08bf7c72232cd103166">kBosch144TempMin</a> + 1;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a290c1d4209617cb3b079107526434eda">   72</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#a290c1d4209617cb3b079107526434eda">kBosch144TempMap</a>[<a class="code" href="ir__Bosch_8h.html#a7e1b33ab729c54bd23f9c1ca1f6a2ed3">kBosch144TempRange</a>] = {</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    0b00001,  <span class="comment">// 16C      // Bit[0] to Section 3    Bit[1-4] to Section 1</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    0b00000,  <span class="comment">// 17C      //           TempS3                   TempS1</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    0b00010,  <span class="comment">// 18c</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    0b00110,  <span class="comment">// 19C</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    0b00100,  <span class="comment">// 20C</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    0b01100,  <span class="comment">// 21C</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    0b01110,  <span class="comment">// 22C</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    0b01010,  <span class="comment">// 23C</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    0b01000,  <span class="comment">// 24C</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    0b11000,  <span class="comment">// 25C</span></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    0b11010,  <span class="comment">// 26C</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    0b10010,  <span class="comment">// 27C</span></div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    0b10000,  <span class="comment">// 28C</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    0b10100,  <span class="comment">// 29C</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    0b10110   <span class="comment">// 30C</span></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;};</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">// &quot;OFF&quot; is a 96bit-message    the same as Coolix protocol</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#a4d861103b77d2ff49587386bf2a947e1">   91</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#a4d861103b77d2ff49587386bf2a947e1">kBosch144Off</a>[] = {0xB2, 0x4D, 0x7B, 0x84, 0xE0, 0x1F,</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                                0xB2, 0x4D, 0x7B, 0x84, 0xE0, 0x1F};</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">// On, 25C, Mode: Auto</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="ir__Bosch_8h.html#acae2cc398c13bc4a798cf319267213cc">   95</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Bosch_8h.html#acae2cc398c13bc4a798cf319267213cc">kBosch144DefaultState</a>[<a class="code" href="IRremoteESP8266_8h.html#af87fb0ccdc4097e21c256581723499d8">kBosch144StateLength</a>] = {</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  0xB2, 0x4D, 0x1F, 0xE0, 0xC8, 0x37,</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  0xB2, 0x4D, 0x1F, 0xE0, 0xC8, 0x37,</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  0xD5, 0x65, 0x00, 0x00, 0x00, 0x3A};</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html">  100</a></span>&#160;<span class="keyword">union </span><a class="code" href="unionBosch144Protocol.html">Bosch144Protocol</a> {</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#af98f90f7a15cdf6558e1877279016c48">  101</a></span>&#160;  uint8_t <a class="code" href="unionBosch144Protocol.html#af98f90f7a15cdf6558e1877279016c48">raw</a>[<a class="code" href="IRremoteESP8266_8h.html#af87fb0ccdc4097e21c256581723499d8">kBosch144StateLength</a>];  </div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#aea2e87551b2c3a4d230d63b309136091">  103</a></span>&#160;    uint8_t            :8;   <span class="comment">// Fixed value 0b10110010 / 0xB2.   ############</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a85e4033c3a142be92ccf7b0372f79995">  104</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a85e4033c3a142be92ccf7b0372f79995">InnvertS1_1</a>:8;   <span class="comment">// Invert byte  0b01001101 / 0x4D   #</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a728d753735315b082d83177a3cd4227d">  105</a></span>&#160;    uint8_t            :5;   <span class="comment">// not used (without timer use)     #</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a20e8e79e0fc2334dde077692a5c496b1">  106</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a20e8e79e0fc2334dde077692a5c496b1">FanS1</a>      :3;   <span class="comment">// Fan speed bits in Section 1      #</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#abe02b2a88c8f1edc730d7daa20fc2dff">  107</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#abe02b2a88c8f1edc730d7daa20fc2dff">InnvertS1_2</a>:8;   <span class="comment">// Invert byte                      #  Section 1 =</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#ac37a55f3440d355cdd8ad4f42b4f2af1">  108</a></span>&#160;    uint8_t            :2;   <span class="comment">// not used (without timer use)     #   Sektion 2</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a911d69322cc55c210b3161f5a1bfc74e">  109</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a911d69322cc55c210b3161f5a1bfc74e">ModeS1</a>     :2;   <span class="comment">// Operation mode bits S1           #</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#ab775eb7268299e4ad57750b2bb943643">  110</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#ab775eb7268299e4ad57750b2bb943643">TempS1</a>     :4;   <span class="comment">// Desired temperature (Celsius) S2 #</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a9004617bd0ca8c321a4c41e2acdac641">  111</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a9004617bd0ca8c321a4c41e2acdac641">InnvertS1_3</a>:8;   <span class="comment">// Invert byte (without timer use)  ############</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a5652d979ef01c888bf68b1473fd95ddc">  113</a></span>&#160;    uint8_t            :8;   <span class="comment">// Fixed value 0b10110010 / 0xB2.   ############</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a812fee7cbc06c63239fbf97355901f4e">  114</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a812fee7cbc06c63239fbf97355901f4e">InnvertS2_1</a>:8;   <span class="comment">// Invert byte  0b01001101 / 0x4D   #</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a1934cbae9aabcea9ecd49728e901c30a">  115</a></span>&#160;    uint8_t            :5;   <span class="comment">// not used (without timer use)     #</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a89a4ec658b88c62b3132c47985655549">  116</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a89a4ec658b88c62b3132c47985655549">FanS2</a>      :3;   <span class="comment">// Fan speed bits in Section 2      #</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#acb932cffdc91a8f6289a32ec283e351f">  117</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#acb932cffdc91a8f6289a32ec283e351f">InnvertS2_2</a>:8;   <span class="comment">// Invert byte                      #  Section 2 =</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#aa01093d7cfab4936f02a7e09af858762">  118</a></span>&#160;    uint8_t            :2;   <span class="comment">// not used (without timer use)     #   Sektion 1</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#ac6b0b38ae3bed7841ff92f506946ca8a">  119</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#ac6b0b38ae3bed7841ff92f506946ca8a">ModeS2</a>     :2;   <span class="comment">// Operation mode bits S2           #</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a17073ac1488316cf373c069170850eb9">  120</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a17073ac1488316cf373c069170850eb9">TempS2</a>     :4;   <span class="comment">// Desired temperature (Celsius) S2 #</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#ab838c6e66dfe14786f38e8841f9a7c41">  121</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#ab838c6e66dfe14786f38e8841f9a7c41">InnvertS2_3</a>:8;   <span class="comment">// Invert byte (without timer use)  ###########</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a6a2ef6460e3a3f6f698c13ab6c189b83">  123</a></span>&#160;    uint8_t            :8;   <span class="comment">// Fixed value 0b11010101 / 0xD5    ###########</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a49c94706d59d2034cda39e6fda173dd2">  124</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a49c94706d59d2034cda39e6fda173dd2">ModeS3</a>     :1;   <span class="comment">// ModeBit in Section 3             #</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a24a5d88cd6077aa8c281ca095b9be399">  125</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a24a5d88cd6077aa8c281ca095b9be399">FanS3</a>      :6;   <span class="comment">// Fan speed bits in Section 3      #</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#acf7e2827772785a440e85eb91af8b97e">  126</a></span>&#160;    uint8_t            :1;   <span class="comment">// Unknown                          #</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a838b6fce42f250df13b0cb979311ca66">  127</a></span>&#160;    uint8_t            :7;   <span class="comment">// Unknown                          #</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#ab4c76500e9c08fb21b54a6034fd473ce">  128</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#ab4c76500e9c08fb21b54a6034fd473ce">Quiet</a>      :1;   <span class="comment">// Silent-Mode                      #    Section 3</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a2409e951d1631dbc7413cb4e092c539c">  129</a></span>&#160;    uint8_t            :4;   <span class="comment">// Unknown                          #</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#abe9133fc125b1c0584a59351fcf673c9">  130</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#abe9133fc125b1c0584a59351fcf673c9">TempS3</a>     :1;   <span class="comment">// Desired temp. Bit in Section3    #</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#aa6bd80cbec0cf71313d927226023eb2b">  131</a></span>&#160;    uint8_t            :3;   <span class="comment">// Unknown                          #</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#add5312de38150a36fce3b3751efb0fcb">  132</a></span>&#160;    uint8_t            :8;   <span class="comment">// Unknown                          #</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="unionBosch144Protocol.html#a5036cc299459cf6aacd788204c2aaa17">  133</a></span>&#160;    uint8_t <a class="code" href="unionBosch144Protocol.html#a5036cc299459cf6aacd788204c2aaa17">ChecksumS3</a> :8;   <span class="comment">// Checksum from byte 13-17         ###########</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  };</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;};</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">// Classes</span></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classIRBosch144AC.html">  140</a></span>&#160;<span class="keyword">class </span><a class="code" href="classIRBosch144AC.html">IRBosch144AC</a> {</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classIRBosch144AC.html#a927a83361eebb8ce1810e6289662d1e9">IRBosch144AC</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#a379cd5f290b6d1cd9d2c7e1d9cd8b960">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#if SEND_BOSCH144</span></div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#ab75002829b14bfd9b85ac4cde5369300">send</a>(<span class="keyword">const</span> uint16_t repeat = 0);</div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classIRBosch144AC.html#ac5b82e8ff735d1f89d3382bc03b688b0">  151</a></span>&#160;  int8_t <a class="code" href="classIRBosch144AC.html#ac5b82e8ff735d1f89d3382bc03b688b0">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRBosch144AC.html#a315dad009025d7b95b7454f40aa8d2a9">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">#endif  // SEND_BOSCH144</span></div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#ab2e7548d9bcc134e31810e40036eb199">begin</a>();</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#ae4ad87991dd0c63aa132fd72c410a387">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> state);</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRBosch144AC.html#a58f540b25925a0f44cde6616f766d4b9">getPower</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#a01c620a1ecd3c6ca262234962125ec13">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  uint8_t <a class="code" href="classIRBosch144AC.html#a3ff66233faa9b002bb5e82543857e14e">getTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#ad361336dde5ab727b7b2c469c6169f7b">setFan</a>(<span class="keyword">const</span> uint16_t speed);</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  uint16_t <a class="code" href="classIRBosch144AC.html#a567251b7ee42ac9d8e7390b5f275928b">getFan</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#a97f787485d966e379d989fa90491a2b8">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  uint8_t <a class="code" href="classIRBosch144AC.html#a81777c309d9a56683f4ee153c274c4f2">getMode</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#a8c04dd7a5119875de4034594ad83bfbe">setQuiet</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> on);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRBosch144AC.html#ae07f34367c11488fc4b0f1a31a83766e">getQuiet</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  uint8_t* <a class="code" href="classIRBosch144AC.html#aa30c55200c97e10bab856dd27bba64db">getRaw</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#a1966ed6666715438fb839bb2dc2f9521">setRaw</a>(<span class="keyword">const</span> uint8_t new_code[],</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;              <span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#af87fb0ccdc4097e21c256581723499d8">kBosch144StateLength</a>);</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRBosch144AC.html#af1e045d15cf1a48ec533ec8b812d7369">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <span class="keyword">static</span> uint16_t <a class="code" href="classIRBosch144AC.html#ab71895d6c6a3bc93425180ef063e0be2">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRBosch144AC.html#a879ca1a0f3c2f2e63d4ab5f691f0e0f9">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRBosch144AC.html#a1fd74c2ece890f4adf8fefc214fefe14">toCommonFanSpeed</a>(<span class="keyword">const</span> uint16_t speed);</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRBosch144AC.html#ae1dff3c4142ccdd1ae3c1f78f44fbc31">toCommon</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRBosch144AC.html#ad979fe20db3afc576dadab4df36f0209">toString</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classIRBosch144AC.html#a315dad009025d7b95b7454f40aa8d2a9">  176</a></span>&#160;  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRBosch144AC.html#a315dad009025d7b95b7454f40aa8d2a9">_irsend</a>;  </div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  IRsendTest <a class="code" href="classIRBosch144AC.html#a315dad009025d7b95b7454f40aa8d2a9">_irsend</a>;  </div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classIRBosch144AC.html#a323e8fc918658017b032a5523e50891d">  182</a></span>&#160;  <a class="code" href="unionBosch144Protocol.html">Bosch144Protocol</a> <a class="code" href="classIRBosch144AC.html#a323e8fc918658017b032a5523e50891d">_</a>;  </div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <span class="comment">// Internal State settings</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classIRBosch144AC.html#aabce2d83667eb2a06a56edc211e29bb1">  185</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRBosch144AC.html#aabce2d83667eb2a06a56edc211e29bb1">powerFlag</a>;</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#a590735ec72c5656c9088415307ca783c">setInvertBytes</a>();</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#ab11ee3ece12a6388e786c10c04ef6dda">setCheckSumS3</a>();</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRBosch144AC.html#a4d0bc1837f548015e6a2d9067316b3c7">setTempRaw</a>(<span class="keyword">const</span> uint8_t code);</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  uint8_t <a class="code" href="classIRBosch144AC.html#a16b349038a1c58a04658163ee92bf251">getTempRaw</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;};</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">#endif  // IR_BOSCH_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassIRBosch144AC_html_a323e8fc918658017b032a5523e50891d"><div class="ttname"><a href="classIRBosch144AC.html#a323e8fc918658017b032a5523e50891d">IRBosch144AC::_</a></div><div class="ttdeci">Bosch144Protocol _</div><div class="ttdoc">The state of the IR remote in IR code form.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:182</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ac5b82e8ff735d1f89d3382bc03b688b0"><div class="ttname"><a href="classIRBosch144AC.html#ac5b82e8ff735d1f89d3382bc03b688b0">IRBosch144AC::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:151</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a1fd74c2ece890f4adf8fefc214fefe14"><div class="ttname"><a href="classIRBosch144AC.html#a1fd74c2ece890f4adf8fefc214fefe14">IRBosch144AC::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint16_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:211</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a567251b7ee42ac9d8e7390b5f275928b"><div class="ttname"><a href="classIRBosch144AC.html#a567251b7ee42ac9d8e7390b5f275928b">IRBosch144AC::getFan</a></div><div class="ttdeci">uint16_t getFan(void) const</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:127</div></div>
<div class="ttc" id="air__Bosch_8h_html_ac6515523960e0d98d6d046aa4ba1421b"><div class="ttname"><a href="ir__Bosch_8h.html#ac6515523960e0d98d6d046aa4ba1421b">kBoschHdrSpace</a></div><div class="ttdeci">const uint16_t kBoschHdrSpace</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:33</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a5036cc299459cf6aacd788204c2aaa17"><div class="ttname"><a href="unionBosch144Protocol.html#a5036cc299459cf6aacd788204c2aaa17">Bosch144Protocol::ChecksumS3</a></div><div class="ttdeci">uint8_t ChecksumS3</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:133</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a911d69322cc55c210b3161f5a1bfc74e"><div class="ttname"><a href="unionBosch144Protocol.html#a911d69322cc55c210b3161f5a1bfc74e">Bosch144Protocol::ModeS1</a></div><div class="ttdeci">uint8_t ModeS1</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:109</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_af87fb0ccdc4097e21c256581723499d8"><div class="ttname"><a href="IRremoteESP8266_8h.html#af87fb0ccdc4097e21c256581723499d8">kBosch144StateLength</a></div><div class="ttdeci">const uint16_t kBosch144StateLength</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1168</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a16b349038a1c58a04658163ee92bf251"><div class="ttname"><a href="classIRBosch144AC.html#a16b349038a1c58a04658163ee92bf251">IRBosch144AC::getTempRaw</a></div><div class="ttdeci">uint8_t getTempRaw(void) const</div></div>
<div class="ttc" id="air__Bosch_8h_html_a7e42d2f410aed3cef58bac2f8a09cb06"><div class="ttname"><a href="ir__Bosch_8h.html#a7e42d2f410aed3cef58bac2f8a09cb06">kBoschFooterSpace</a></div><div class="ttdeci">const uint16_t kBoschFooterSpace</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:36</div></div>
<div class="ttc" id="air__Bosch_8h_html_aafc6fa16ff4363e83ca38d78c753e7cb"><div class="ttname"><a href="ir__Bosch_8h.html#aafc6fa16ff4363e83ca38d78c753e7cb">kBosch144FanAuto0</a></div><div class="ttdeci">const uint16_t kBosch144FanAuto0</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:66</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_ab4c76500e9c08fb21b54a6034fd473ce"><div class="ttname"><a href="unionBosch144Protocol.html#ab4c76500e9c08fb21b54a6034fd473ce">Bosch144Protocol::Quiet</a></div><div class="ttdeci">uint8_t Quiet</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:128</div></div>
<div class="ttc" id="anamespacestdAc_html_a8bb0dbf18fe69f639f4ac0b3ff133383"><div class="ttname"><a href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a></div><div class="ttdeci">fanspeed_t</div><div class="ttdoc">Common A/C settings for Fan Speeds.</div><div class="ttdef"><b>Definition:</b> IRsend.h:61</div></div>
<div class="ttc" id="air__Bosch_8h_html_ac8770a71650aa08bf7c72232cd103166"><div class="ttname"><a href="ir__Bosch_8h.html#ac8770a71650aa08bf7c72232cd103166">kBosch144TempMin</a></div><div class="ttdeci">const uint8_t kBosch144TempMin</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:69</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_ab838c6e66dfe14786f38e8841f9a7c41"><div class="ttname"><a href="unionBosch144Protocol.html#ab838c6e66dfe14786f38e8841f9a7c41">Bosch144Protocol::InnvertS2_3</a></div><div class="ttdeci">uint8_t InnvertS2_3</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:121</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a01c620a1ecd3c6ca262234962125ec13"><div class="ttname"><a href="classIRBosch144AC.html#a01c620a1ecd3c6ca262234962125ec13">IRBosch144AC::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t temp)</div><div class="ttdoc">Set the temperature.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:103</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_abe9133fc125b1c0584a59351fcf673c9"><div class="ttname"><a href="unionBosch144Protocol.html#abe9133fc125b1c0584a59351fcf673c9">Bosch144Protocol::TempS3</a></div><div class="ttdeci">uint8_t TempS3</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:130</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ab11ee3ece12a6388e786c10c04ef6dda"><div class="ttname"><a href="classIRBosch144AC.html#ab11ee3ece12a6388e786c10c04ef6dda">IRBosch144AC::setCheckSumS3</a></div><div class="ttdeci">void setCheckSumS3()</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:274</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_aa30c55200c97e10bab856dd27bba64db"><div class="ttname"><a href="classIRBosch144AC.html#aa30c55200c97e10bab856dd27bba64db">IRBosch144AC::getRaw</a></div><div class="ttdeci">uint8_t * getRaw(void)</div><div class="ttdoc">Get a copy of the internal state as a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:68</div></div>
<div class="ttc" id="air__Bosch_8h_html_ac45d61b421b7d326977e0d93ff52f954"><div class="ttname"><a href="ir__Bosch_8h.html#ac45d61b421b7d326977e0d93ff52f954">kBosch144NrOfSections</a></div><div class="ttdeci">const uint16_t kBosch144NrOfSections</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:38</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a879ca1a0f3c2f2e63d4ab5f691f0e0f9"><div class="ttname"><a href="classIRBosch144AC.html#a879ca1a0f3c2f2e63d4ab5f691f0e0f9">IRBosch144AC::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode into its stdAc equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:198</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a58f540b25925a0f44cde6616f766d4b9"><div class="ttname"><a href="classIRBosch144AC.html#a58f540b25925a0f44cde6616f766d4b9">IRBosch144AC::getPower</a></div><div class="ttdeci">bool getPower(void) const</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:92</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="air__Bosch_8h_html_af936a2563f263b9ef6d621679962269c"><div class="ttname"><a href="ir__Bosch_8h.html#af936a2563f263b9ef6d621679962269c">kBosch144FanAuto</a></div><div class="ttdeci">const uint16_t kBosch144FanAuto</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:65</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ab75002829b14bfd9b85ac4cde5369300"><div class="ttname"><a href="classIRBosch144AC.html#ab75002829b14bfd9b85ac4cde5369300">IRBosch144AC::send</a></div><div class="ttdeci">void send(const uint16_t repeat=0)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:57</div></div>
<div class="ttc" id="air__Bosch_8h_html_a97356715789abc8d671b604c4b0c8995"><div class="ttname"><a href="ir__Bosch_8h.html#a97356715789abc8d671b604c4b0c8995">kBosch144Fan40</a></div><div class="ttdeci">const uint16_t kBosch144Fan40</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:61</div></div>
<div class="ttc" id="anamespaceirutils_html_a8b74ae0258e98aa0eaebc6f3efe1481e"><div class="ttname"><a href="namespaceirutils.html#a8b74ae0258e98aa0eaebc6f3efe1481e">irutils::addModeToString</a></div><div class="ttdeci">String addModeToString(const uint8_t mode, const uint8_t automatic, const uint8_t cool, const uint8_t heat, const uint8_t dry, const uint8_t fan)</div><div class="ttdoc">Create a String of human output for the given operating mode. e.g. &quot;Mode: 1 (Cool)&quot;.</div><div class="ttdef"><b>Definition:</b> IRutils.cpp:770</div></div>
<div class="ttc" id="aclassIRsend_html"><div class="ttname"><a href="classIRsend.html">IRsend</a></div><div class="ttdoc">Class for sending all basic IR protocols.</div><div class="ttdef"><b>Definition:</b> IRsend.h:237</div></div>
<div class="ttc" id="air__Bosch_8h_html_a4d861103b77d2ff49587386bf2a947e1"><div class="ttname"><a href="ir__Bosch_8h.html#a4d861103b77d2ff49587386bf2a947e1">kBosch144Off</a></div><div class="ttdeci">const uint8_t kBosch144Off[]</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:91</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a49c94706d59d2034cda39e6fda173dd2"><div class="ttname"><a href="unionBosch144Protocol.html#a49c94706d59d2034cda39e6fda173dd2">Bosch144Protocol::ModeS3</a></div><div class="ttdeci">uint8_t ModeS3</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:124</div></div>
<div class="ttc" id="aclassIRsend_html_ad1776aa6c699f9eeca1eef9bb4fe355b"><div class="ttname"><a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">IRsend::calibrate</a></div><div class="ttdeci">int8_t calibrate(uint16_t hz=38000U)</div><div class="ttdoc">Calculate &amp; set any offsets to account for execution times during sending.</div><div class="ttdef"><b>Definition:</b> IRsend.cpp:207</div></div>
<div class="ttc" id="air__Bosch_8h_html_a2ba01d6f896cf20ab4106027d4770064"><div class="ttname"><a href="ir__Bosch_8h.html#a2ba01d6f896cf20ab4106027d4770064">kBosch144TempMax</a></div><div class="ttdeci">const uint8_t kBosch144TempMax</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:70</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a17073ac1488316cf373c069170850eb9"><div class="ttname"><a href="unionBosch144Protocol.html#a17073ac1488316cf373c069170850eb9">Bosch144Protocol::TempS2</a></div><div class="ttdeci">uint8_t TempS2</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:120</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afbeda3fd1bdc8c37d01bdf9f5c8274ff"><div class="ttname"><a href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a></div><div class="ttdeci">std::string String</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1521</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a8c04dd7a5119875de4034594ad83bfbe"><div class="ttname"><a href="classIRBosch144AC.html#a8c04dd7a5119875de4034594ad83bfbe">IRBosch144AC::setQuiet</a></div><div class="ttdeci">void setQuiet(const bool on)</div><div class="ttdoc">Set the Quiet mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:148</div></div>
<div class="ttc" id="air__Bosch_8h_html_a83d7eb073bb0df2b93c6df8537a0f241"><div class="ttname"><a href="ir__Bosch_8h.html#a83d7eb073bb0df2b93c6df8537a0f241">kBosch144Fan100</a></div><div class="ttdeci">const uint16_t kBosch144Fan100</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:64</div></div>
<div class="ttc" id="air__Bosch_8h_html_a441cbba39ea68a84b1c7eb73da6c2042"><div class="ttname"><a href="ir__Bosch_8h.html#a441cbba39ea68a84b1c7eb73da6c2042">kBosch144BytesPerSection</a></div><div class="ttdeci">const uint16_t kBosch144BytesPerSection</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:39</div></div>
<div class="ttc" id="air__Bosch_8h_html_aadc63aebf2d5196fb04c738e7f55b962"><div class="ttname"><a href="ir__Bosch_8h.html#aadc63aebf2d5196fb04c738e7f55b962">kBoschHdrMark</a></div><div class="ttdeci">const uint16_t kBoschHdrMark</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:31</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ab2e7548d9bcc134e31810e40036eb199"><div class="ttname"><a href="classIRBosch144AC.html#ab2e7548d9bcc134e31810e40036eb199">IRBosch144AC::begin</a></div><div class="ttdeci">void begin()</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:52</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a927a83361eebb8ce1810e6289662d1e9"><div class="ttname"><a href="classIRBosch144AC.html#a927a83361eebb8ce1810e6289662d1e9">IRBosch144AC::IRBosch144AC</a></div><div class="ttdeci">IRBosch144AC(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:41</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ae07f34367c11488fc4b0f1a31a83766e"><div class="ttname"><a href="classIRBosch144AC.html#ae07f34367c11488fc4b0f1a31a83766e">IRBosch144AC::getQuiet</a></div><div class="ttdeci">bool getQuiet(void) const</div><div class="ttdoc">Get the Quiet mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:155</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a1966ed6666715438fb839bb2dc2f9521"><div class="ttname"><a href="classIRBosch144AC.html#a1966ed6666715438fb839bb2dc2f9521">IRBosch144AC::setRaw</a></div><div class="ttdeci">void setRaw(const uint8_t new_code[], const uint16_t length=kBosch144StateLength)</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:77</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a24a5d88cd6077aa8c281ca095b9be399"><div class="ttname"><a href="unionBosch144Protocol.html#a24a5d88cd6077aa8c281ca095b9be399">Bosch144Protocol::FanS3</a></div><div class="ttdeci">uint8_t FanS3</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:125</div></div>
<div class="ttc" id="air__Bosch_8h_html_a96fbac4ef9a0879de1ea5b95af45c4f8"><div class="ttname"><a href="ir__Bosch_8h.html#a96fbac4ef9a0879de1ea5b95af45c4f8">kBosch144Fan80</a></div><div class="ttdeci">const uint16_t kBosch144Fan80</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:63</div></div>
<div class="ttc" id="anamespaceirutils_html_a63e326858d646230b4c286a889e651a7"><div class="ttname"><a href="namespaceirutils.html#a63e326858d646230b4c286a889e651a7">irutils::addTempToString</a></div><div class="ttdeci">String addTempToString(const uint16_t degrees, const bool celsius, const bool precomma, const bool isSensorTemp)</div><div class="ttdoc">Create a String of human output for a given temperature. e.g. &quot;Temp: 25C&quot;.</div><div class="ttdef"><b>Definition:</b> IRutils.cpp:733</div></div>
<div class="ttc" id="air__Bosch_8h_html_acae2cc398c13bc4a798cf319267213cc"><div class="ttname"><a href="ir__Bosch_8h.html#acae2cc398c13bc4a798cf319267213cc">kBosch144DefaultState</a></div><div class="ttdeci">const uint8_t kBosch144DefaultState[kBosch144StateLength]</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:95</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a3ff66233faa9b002bb5e82543857e14e"><div class="ttname"><a href="classIRBosch144AC.html#a3ff66233faa9b002bb5e82543857e14e">IRBosch144AC::getTemp</a></div><div class="ttdeci">uint8_t getTemp(void) const</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:109</div></div>
<div class="ttc" id="air__Bosch_8h_html_a18b51b04770e85adc8f9d0dea16c07a2"><div class="ttname"><a href="ir__Bosch_8h.html#a18b51b04770e85adc8f9d0dea16c07a2">kBoschOneSpace</a></div><div class="ttdeci">const uint16_t kBoschOneSpace</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:34</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_abe02b2a88c8f1edc730d7daa20fc2dff"><div class="ttname"><a href="unionBosch144Protocol.html#abe02b2a88c8f1edc730d7daa20fc2dff">Bosch144Protocol::InnvertS1_2</a></div><div class="ttdeci">uint8_t InnvertS1_2</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:107</div></div>
<div class="ttc" id="air__Bosch_8h_html_ae971649b89317b55905c71b90ac74c23"><div class="ttname"><a href="ir__Bosch_8h.html#ae971649b89317b55905c71b90ac74c23">kBosch144Auto</a></div><div class="ttdeci">const uint8_t kBosch144Auto</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:54</div></div>
<div class="ttc" id="air__Bosch_8h_html_a300684692145a91ded17d87743cb3810"><div class="ttname"><a href="ir__Bosch_8h.html#a300684692145a91ded17d87743cb3810">kBosch144Fan</a></div><div class="ttdeci">const uint8_t kBosch144Fan</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:56</div></div>
<div class="ttc" id="air__Bosch_8h_html_ae231af130976f79d9a96ea6c5733fa87"><div class="ttname"><a href="ir__Bosch_8h.html#ae231af130976f79d9a96ea6c5733fa87">kBoschBitMark</a></div><div class="ttdeci">const uint16_t kBoschBitMark</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:32</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_ac6b0b38ae3bed7841ff92f506946ca8a"><div class="ttname"><a href="unionBosch144Protocol.html#ac6b0b38ae3bed7841ff92f506946ca8a">Bosch144Protocol::ModeS2</a></div><div class="ttdeci">uint8_t ModeS2</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:119</div></div>
<div class="ttc" id="aIRrecv_8h_html"><div class="ttname"><a href="IRrecv_8h.html">IRrecv.h</a></div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a85e4033c3a142be92ccf7b0372f79995"><div class="ttname"><a href="unionBosch144Protocol.html#a85e4033c3a142be92ccf7b0372f79995">Bosch144Protocol::InnvertS1_1</a></div><div class="ttdeci">uint8_t InnvertS1_1</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:104</div></div>
<div class="ttc" id="aIRutils_8h_html"><div class="ttname"><a href="IRutils_8h.html">IRutils.h</a></div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a20e8e79e0fc2334dde077692a5c496b1"><div class="ttname"><a href="unionBosch144Protocol.html#a20e8e79e0fc2334dde077692a5c496b1">Bosch144Protocol::FanS1</a></div><div class="ttdeci">uint8_t FanS1</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:106</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ae1dff3c4142ccdd1ae3c1f78f44fbc31"><div class="ttname"><a href="classIRBosch144AC.html#ae1dff3c4142ccdd1ae3c1f78f44fbc31">IRBosch144AC::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(void) const</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:224</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a379cd5f290b6d1cd9d2c7e1d9cd8b960"><div class="ttname"><a href="classIRBosch144AC.html#a379cd5f290b6d1cd9d2c7e1d9cd8b960">IRBosch144AC::stateReset</a></div><div class="ttdeci">void stateReset(void)</div><div class="ttdoc">Reset the internal state to a fixed known good state.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:46</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a315dad009025d7b95b7454f40aa8d2a9"><div class="ttname"><a href="classIRBosch144AC.html#a315dad009025d7b95b7454f40aa8d2a9">IRBosch144AC::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:176</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a97f787485d966e379d989fa90491a2b8"><div class="ttname"><a href="classIRBosch144AC.html#a97f787485d966e379d989fa90491a2b8">IRBosch144AC::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the desired operation mode.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:133</div></div>
<div class="ttc" id="aIRtext_8h_html"><div class="ttname"><a href="IRtext_8h.html">IRtext.h</a></div></div>
<div class="ttc" id="air__Bosch_8h_html_abda383043be34f9e0af15460ee3d4094"><div class="ttname"><a href="ir__Bosch_8h.html#abda383043be34f9e0af15460ee3d4094">kBosch144Fan20</a></div><div class="ttdeci">const uint16_t kBosch144Fan20</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:60</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ad361336dde5ab727b7b2c469c6169f7b"><div class="ttname"><a href="classIRBosch144AC.html#ad361336dde5ab727b7b2c469c6169f7b">IRBosch144AC::setFan</a></div><div class="ttdeci">void setFan(const uint16_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:122</div></div>
<div class="ttc" id="air__Bosch_8h_html_a290c1d4209617cb3b079107526434eda"><div class="ttname"><a href="ir__Bosch_8h.html#a290c1d4209617cb3b079107526434eda">kBosch144TempMap</a></div><div class="ttdeci">const uint8_t kBosch144TempMap[kBosch144TempRange]</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:72</div></div>
<div class="ttc" id="air__Bosch_8h_html_a6a32c659316f38e3fbaabfbc8d0a0916"><div class="ttname"><a href="ir__Bosch_8h.html#a6a32c659316f38e3fbaabfbc8d0a0916">kBosch144Dry</a></div><div class="ttdeci">const uint8_t kBosch144Dry</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:53</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_aabce2d83667eb2a06a56edc211e29bb1"><div class="ttname"><a href="classIRBosch144AC.html#aabce2d83667eb2a06a56edc211e29bb1">IRBosch144AC::powerFlag</a></div><div class="ttdeci">bool powerFlag</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:185</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a9004617bd0ca8c321a4c41e2acdac641"><div class="ttname"><a href="unionBosch144Protocol.html#a9004617bd0ca8c321a4c41e2acdac641">Bosch144Protocol::InnvertS1_3</a></div><div class="ttdeci">uint8_t InnvertS1_3</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:111</div></div>
<div class="ttc" id="anamespaceirutils_html_a12ba9cf1830a886649a80c3cc5fdce2b"><div class="ttname"><a href="namespaceirutils.html#a12ba9cf1830a886649a80c3cc5fdce2b">irutils::addBoolToString</a></div><div class="ttdeci">String addBoolToString(const bool value, const String label, const bool precomma)</div><div class="ttdoc">Create a String with a colon separated flag suitable for Humans. e.g. &quot;Power: On&quot;.</div><div class="ttdef"><b>Definition:</b> IRutils.cpp:553</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ab71895d6c6a3bc93425180ef063e0be2"><div class="ttname"><a href="classIRBosch144AC.html#ab71895d6c6a3bc93425180ef063e0be2">IRBosch144AC::convertFan</a></div><div class="ttdeci">static uint16_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:178</div></div>
<div class="ttc" id="anamespaceirutils_html_a1de74ec4ecc33ce0bac35964ea7ba821"><div class="ttname"><a href="namespaceirutils.html#a1de74ec4ecc33ce0bac35964ea7ba821">irutils::addFanToString</a></div><div class="ttdeci">String addFanToString(const uint8_t speed, const uint8_t high, const uint8_t low, const uint8_t automatic, const uint8_t quiet, const uint8_t medium, const uint8_t maximum, const uint8_t medium_high)</div><div class="ttdoc">Create a String of human output for the given fan speed. e.g. &quot;Fan: 0 (Auto)&quot;.</div><div class="ttdef"><b>Definition:</b> IRutils.cpp:837</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_af1e045d15cf1a48ec533ec8b812d7369"><div class="ttname"><a href="classIRBosch144AC.html#af1e045d15cf1a48ec533ec8b812d7369">IRBosch144AC::convertMode</a></div><div class="ttdeci">static uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a stdAc::opmode_t enum into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:160</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a81777c309d9a56683f4ee153c274c4f2"><div class="ttname"><a href="classIRBosch144AC.html#a81777c309d9a56683f4ee153c274c4f2">IRBosch144AC::getMode</a></div><div class="ttdeci">uint8_t getMode(void) const</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:142</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_af98f90f7a15cdf6558e1877279016c48"><div class="ttname"><a href="unionBosch144Protocol.html#af98f90f7a15cdf6558e1877279016c48">Bosch144Protocol::raw</a></div><div class="ttdeci">uint8_t raw[kBosch144StateLength]</div><div class="ttdoc">The state in IR code form.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:101</div></div>
<div class="ttc" id="air__Bosch_8h_html_a9cfa60260f8c67a06248f3952a34a131"><div class="ttname"><a href="ir__Bosch_8h.html#a9cfa60260f8c67a06248f3952a34a131">kBosch144Fan60</a></div><div class="ttdeci">const uint16_t kBosch144Fan60</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:62</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_acb932cffdc91a8f6289a32ec283e351f"><div class="ttname"><a href="unionBosch144Protocol.html#acb932cffdc91a8f6289a32ec283e351f">Bosch144Protocol::InnvertS2_2</a></div><div class="ttdeci">uint8_t InnvertS2_2</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:117</div></div>
<div class="ttc" id="air__Bosch_8h_html_a7e1b33ab729c54bd23f9c1ca1f6a2ed3"><div class="ttname"><a href="ir__Bosch_8h.html#a7e1b33ab729c54bd23f9c1ca1f6a2ed3">kBosch144TempRange</a></div><div class="ttdeci">const uint8_t kBosch144TempRange</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:71</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ad979fe20db3afc576dadab4df36f0209"><div class="ttname"><a href="classIRBosch144AC.html#ad979fe20db3afc576dadab4df36f0209">IRBosch144AC::toString</a></div><div class="ttdeci">String toString(void) const</div><div class="ttdoc">Convert the current internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:250</div></div>
<div class="ttc" id="air__Bosch_8h_html_ae1b65b7d5d2a21fa03c4466233a78dc9"><div class="ttname"><a href="ir__Bosch_8h.html#ae1b65b7d5d2a21fa03c4466233a78dc9">kBosch144Cool</a></div><div class="ttdeci">const uint8_t kBosch144Cool</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:52</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a590735ec72c5656c9088415307ca783c"><div class="ttname"><a href="classIRBosch144AC.html#a590735ec72c5656c9088415307ca783c">IRBosch144AC::setInvertBytes</a></div><div class="ttdeci">void setInvertBytes()</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:268</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_ab775eb7268299e4ad57750b2bb943643"><div class="ttname"><a href="unionBosch144Protocol.html#ab775eb7268299e4ad57750b2bb943643">Bosch144Protocol::TempS1</a></div><div class="ttdeci">uint8_t TempS1</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:110</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_a4d0bc1837f548015e6a2d9067316b3c7"><div class="ttname"><a href="classIRBosch144AC.html#a4d0bc1837f548015e6a2d9067316b3c7">IRBosch144AC::setTempRaw</a></div><div class="ttdeci">void setTempRaw(const uint8_t code)</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:96</div></div>
<div class="ttc" id="air__Bosch_8h_html_a3cfa01af62a0e1c3d507488dd5e1f05c"><div class="ttname"><a href="ir__Bosch_8h.html#a3cfa01af62a0e1c3d507488dd5e1f05c">kBoschZeroSpace</a></div><div class="ttdeci">const uint16_t kBoschZeroSpace</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:35</div></div>
<div class="ttc" id="air__Bosch_8h_html_a4b96eb4a16f1711be9e836ba593fcbb3"><div class="ttname"><a href="ir__Bosch_8h.html#a4b96eb4a16f1711be9e836ba593fcbb3">kBoschFreq</a></div><div class="ttdeci">const uint16_t kBoschFreq</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:37</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a89a4ec658b88c62b3132c47985655549"><div class="ttname"><a href="unionBosch144Protocol.html#a89a4ec658b88c62b3132c47985655549">Bosch144Protocol::FanS2</a></div><div class="ttdeci">uint8_t FanS2</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:116</div></div>
<div class="ttc" id="aunionBosch144Protocol_html_a812fee7cbc06c63239fbf97355901f4e"><div class="ttname"><a href="unionBosch144Protocol.html#a812fee7cbc06c63239fbf97355901f4e">Bosch144Protocol::InnvertS2_1</a></div><div class="ttdeci">uint8_t InnvertS2_1</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:114</div></div>
<div class="ttc" id="astructstdAc_1_1state__t_html"><div class="ttname"><a href="structstdAc_1_1state__t.html">stdAc::state_t</a></div><div class="ttdoc">Structure to hold a common A/C state.</div><div class="ttdef"><b>Definition:</b> IRsend.h:114</div></div>
<div class="ttc" id="aunionBosch144Protocol_html"><div class="ttname"><a href="unionBosch144Protocol.html">Bosch144Protocol</a></div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:100</div></div>
<div class="ttc" id="air__Bosch_8h_html_aa41021bc17297e00f3c565dc1f81c994"><div class="ttname"><a href="ir__Bosch_8h.html#aa41021bc17297e00f3c565dc1f81c994">kBosch144Heat</a></div><div class="ttdeci">const uint8_t kBosch144Heat</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:55</div></div>
<div class="ttc" id="aclassIRBosch144AC_html_ae4ad87991dd0c63aa132fd72c410a387"><div class="ttname"><a href="classIRBosch144AC.html#ae4ad87991dd0c63aa132fd72c410a387">IRBosch144AC::setPower</a></div><div class="ttdeci">void setPower(const bool state)</div><div class="ttdef"><b>Definition:</b> ir_Bosch.cpp:88</div></div>
<div class="ttc" id="aclassIRBosch144AC_html"><div class="ttname"><a href="classIRBosch144AC.html">IRBosch144AC</a></div><div class="ttdoc">Class for handling detailed Bosch144 A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Bosch.h:140</div></div>
<div class="ttc" id="anamespacestdAc_html_a99ad268c783486f9b3207cb78f48444f"><div class="ttname"><a href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a></div><div class="ttdeci">opmode_t</div><div class="ttdoc">Common A/C settings for A/C operating modes.</div><div class="ttdef"><b>Definition:</b> IRsend.h:49</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
